轻量级多节点系统监控方案实战:Node Exporter + Prometheus + Grafana & 替代方案

203次阅读
没有评论

共计 1701 个字符,预计需要花费 5 分钟才能阅读完成。

我有多台主机(2 台斐讯 N1、2 台云服务器、1 台 NAS 和 1 台内网主机),想统一进行资源监控。目标是:

  • 轻量
  • 开源免费
  • 支持 Docker
  • 支持集中展示所有主机状态

本文记录了实践 Prometheus + Grafana 方案的全过程,并推荐了更简单的替代方案。


🧱 主方案:Prometheus + Node Exporter + Grafana

1. 部署 Node Exporter(每台机器)

docker run -d \
  --name node-exporter \
  -p 9100:9100 \
  --pid="host" \
  -v "/:/host:ro,rslave" \
  prom/node-exporter \
  --path.rootfs=/host
  • --pid="host":使用宿主机的 PID 命名空间
  • -v "/:/host:ro,rslave":挂载根目录为只读
  • --path.rootfs=/host:修正容器路径指向宿主机

2. Prometheus 配置

编辑 prometheus.yml,配置多个监控节点:

global:
  scrape_interval: 5s

scrape_configs:
  - job_name: 'node_exporters'
    static_configs:
      - targets: ['10.72.93.39:9100']
        labels:
          instance: 'local-mac'
      - targets: ['10.72.93.158:9100']
        labels:
          instance: 'n1-1'
      - targets: ['10.72.93.240:9100']
        labels:
          instance: 'n1-2'

每个 target 单独配置,才能自定义 instance 名称。

3. Grafana 可视化

  1. 安装官方 Dashboard 模板 ID:1860(Node Exporter Full)
  2. 支持多节点数据自动加载
  3. 选择 “All” 可集中查看所有主机

4. 常用 PromQL 示例(集中展示)

  • CPU 使用率:
    100 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[1m])) * 100
  • 内存使用率:
    (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100
  • 系统负载:
    node_load1{} by(instance)

⚠️ 常见错误排查

  • invalid reference format:换行符 \ 后面带空格,粘贴整段命令可解决
  • –pid=host:未找到命令:可能逐行执行,确保是完整 docker run 命令

📦 替代方案推荐(更轻量)

✅ 1. Netdata + Netdata Cloud

支持集中可视化,界面美观,部署简单。

docker run -d \
  --name=netdata \
  -p 19999:19999 \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /etc/os-release:/host/etc/os-release:ro \
  --cap-add=SYS_PTRACE \
  --security-opt apparmor=unconfined \
  --restart unless-stopped \
  netdata/netdata

注册 Netdata Cloud 后集中管理所有主机。

✅ 2. Glances + Web UI

docker run -d \
  --name glances \
  -p 61208:61208 \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --pid host \
  nicolargo/glances:latest-full \
  glances -w

适合单节点查看,极其轻量。


🔚 总结:选择建议

方案 集中展示 部署难度 扩展性 适合人群
Prometheus + Grafana 中等偏高 ⭐⭐⭐⭐⭐ 进阶用户、企业使用
Netdata Cloud 超简单 ⭐⭐ 个人、轻量级场景
Glances ❌(单机) 非常简单 临时运维查看

最终,我更推荐使用 Netdata + Netdata Cloud 来快速部署集中监控,如果你未来有定制化需求,再切换到 Prometheus 方案也不迟。

正文完
 1
裴先生
版权声明:本站原创文章,由 裴先生 2025-06-20发表,共计1701字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
本站勉强运行: